﻿Imports Tom0014TableAdapters
Imports Tom0014
Partial Class Registro_general
    Inherits System.Web.UI.Page
    Dim ponderaciones As New ponderacionesTableAdapter
    Dim CategoriasAdap As New catalogo_generalTableAdapter
    Dim categorias As New catalogo_generalDataTable
    Dim genealogiaAnimal As New GenealogiaTableAdapter
    Dim MyString As String

    Protected Sub Registro_general_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
        categorias = CategoriasAdap.GetCatalogo() ' Cargar el catalogo en memoria
        ddlHierro = fillCatalogos(ddlHierro, "H")
        ddlUbicacion = fillCatalogos(ddlUbicacion, "U")
        ddlPropiedad = fillCatalogos(ddlPropiedad, "P")
        ddlEncaste = fillCatalogos(ddlEncaste, "E")
        ddlPelaje1 = fillCatalogos(ddlPelaje1, "W")
        ddlPelaje2 = fillCatalogos(ddlPelaje2, "X")
        ddlFormaPitones = fillCatalogos(ddlFormaPitones, "C")
        ddlEstatus = fillCatalogos(ddlEstatus, "S")
        ddlCausaMuerte = fillCatalogos(ddlCausaMuerte, "F")
    End Sub


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim iAnimalId As Integer

        iAnimalId = CType(Request.QueryString("animal"), Integer)
        If Not (IsPostBack) Then
            ' -- Se genera un TableAdapter para conectarse a la base de datos --
            Dim animales As New animalTableAdapter
            Dim animal, padre, madre As animalDataTable

            animal = animales.GetAnimalById(iAnimalId)
            ' Asigancion de los campos
            If animal.Rows.Count > 0 Then
                ' Asignación de los tablesAdapters de madre, padre
                madre = animales.GetAnimalBySNLA("V", animal(0).no_madre, animal(0).ltra_madre, animal(0).ano_madre)
                padre = animales.GetAnimalBySNLA("T", animal(0).no_padre, animal(0).ltra_padre, animal(0).ano_padre)
                lblAnimal.Text = animal(0).claveSNLA + " " + animal(0).nombre
                ddlHierro.SelectedValue = CType(animal(0).hierro, String)
                ddlSexo.SelectedValue = animal(0).sexo
                txtNumero.Text = animal(0).numero.ToString
                txtLetra.Text = animal(0).letra.ToString
                txtAno.Text = animal(0).ano.ToString
                txtNombre.Text = animal(0).nombre.ToString
                ' ---  Madre --
                txtNoMadre.Text = animal(0).no_madre.ToString
                txtLtraMadre.Text = animal(0).ltra_madre.ToString
                txtAnoMadre.Text = animal(0).ano_madre.ToString
                If madre.Rows.Count > 0 Then
                    txtNombreMadre.Text = madre(0).nombre
                    txtTientaACMadre.Text = madre(0).tienta_ac
                    txtTientaAPMadre.Text = madre(0).tienta_ap
                    txtLidiaAC.Text = madre(0).lidia_ac
                    txtLidiaAP.Text = madre(0).lidia_ac
                    txtPorcienCSMadre.Text = madre(0).porcien_cs
                Else
                    txtNombreMadre.Text = "NO REGISTRADO"
                    txtTientaACMadre.Text = ""
                    txtTientaAPMadre.Text = ""
                    txtLidiaAC.Text = ""
                    txtLidiaAP.Text = ""
                    txtPorcienCSMadre.Text = ""
                End If
                '--- Padre -- 
                txtNoPadre.Text = animal(0).no_padre.ToString
                txtLtraPadre.Text = animal(0).ltra_padre.ToString
                txtAnoPadre.Text = animal(0).ano_padre.ToString
                If padre.Rows.Count > 0 Then
                    txtNombrePadre.Text = padre(0).nombre
                    txtTientaACPadre.Text = padre(0).tienta_ac
                    txtTientaAPPadre.Text = padre(0).tienta_ap
                    txtLidiaACPadre.Text = padre(0).lidia_ac
                    txtLidiaAPPadre.Text = padre(0).lidia_ap
                    txtPorcienCSPadre.Text = padre(0).porcien_cs

                End If
                txtAbuelo.Text = animal(0).abuelo_mat.ToString


                If IsDBNull(animal(0).fechanac) Then
                    txtFechaNac.Text = ""
                Else
                    txtFechaNac.Text = animal(0).fechanac
                End If

                ddlUbicacion.SelectedValue = animal(0).ubicacion.ToString
                ddlPropiedad.SelectedValue = animal(0).propiedad.ToString
                ddlEncaste.SelectedValue = animal(0).encaste.ToString
                ddlPelaje1.SelectedValue = animal(0).pelaje1.ToString
                ddlPelaje2.SelectedValue = animal(0).pelaje2.ToString
                ddlEstatus.SelectedValue = animal(0).estatus.ToString
                ddlCausaMuerte.SelectedValue = animal(0).muerto.ToString

                If animal(0).photo Then
                    imgImagen.ImageUrl = animal(0).imagen
                Else
                    imgImagen.ImageUrl = "~/photos/no_imagen.gif"
                End If

                Try
                    txtFechaBaja.Text = animal(0).fechanac
                Catch ex As Exception
                    txtFechaBaja.Text = ""
                End Try
                'If animal(0).IsfechanacNull Then
                '    txtFechaBaja.Text = ""
                'Else
                '    txtFechaBaja.Text = CType(animal(0).fechabaja, String)
                'End If
                'txtFechaBaja.Text = CType(animal(0).fechabaja, String)

                ddlFenotipo.SelectedValue = animal(0).fenotipo.ToString
                ddlComportamiento.SelectedValue = animal(0).comportamiento.ToString
                txtComentario.Text = animal(0).cometario

            End If



        End If

    End Sub



    Protected Sub imgbtnPadre_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles imgbtnPadre.Click
        Dim Animales As New animalTableAdapter
        Dim myAnimal As New animalDataTable
        Dim sSexo, sLetra As String
        Dim iNumero, iAno As Integer

        sSexo = "T"
        sLetra = txtLtraPadre.Text
        iNumero = CType(txtNoPadre.Text, Integer)
        iAno = CType(txtAnoPadre.Text, Integer)
        myAnimal = Animales.GetAnimalBySNLA(sSexo, iNumero, sLetra, iAno)
        txtNombrePadre.Text = CType(myAnimal(0).nombre, String)
        txtTientaACPadre.Text = CType(myAnimal(0).tienta_ac, String)
        txtTientaAPPadre.Text = CType(myAnimal(0).tienta_ap.ToString, String)
        txtLidiaAPPadre.Text = CType(myAnimal(0).lidia_ap, String)
        txtLidiaACPadre.Text = CType(myAnimal(0).lidia_ac, String)


        'txtNombrePadre.Text = "NO REGISTRADO"
        'lblExcepcion.Text = ex.ToString + " excepcion"
        'lblException.Text = ex.ToString


    End Sub
    Protected Sub imgbtnMadre_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles imgbtnMadre.Click
        Dim Animales As New animalTableAdapter
        Dim myAnimal As New animalDataTable
        Dim sSexo, sLetra As String
        Dim iNumero, iAno As Integer
        Try
            sSexo = "V"
            sLetra = txtLtraMadre.Text
            iNumero = CType(txtNoMadre.Text, Integer)
            iAno = CType(txtAnoMadre.Text, Integer)
            myAnimal = Animales.GetAnimalBySNLA(sSexo, iNumero, sLetra, iAno)
            txtNombreMadre.Text = myAnimal(0).nombre.ToString
            txtTientaACMadre.Text = myAnimal(0).tienta_ac.ToString
            txtTientaAPMadre.Text = myAnimal(0).tienta_ap.ToString

        Catch ex As Exception
            txtNombreMadre.Text = "NO REGISTRADO"
            lblExcepcion.Text = ex.ToString
        End Try
    End Sub

    ''' <summary>
    ''' Llena los DropDownList utilizados en la patallas a partir de la tabla
    ''' catalogos
    ''' </summary>
    ''' <param name="myDropDown">DropDownList pasado por valor</param>
    ''' <param name="Cadena">Indica la clave de la categoria</param>
    ''' <returns>Devuelve DropDownList</returns>
    ''' <remarks>Utiliza esta funcion para llenar las opciones del formulario</remarks>
    Function fillCatalogos(ByVal myDropDown As DropDownList, ByVal Cadena As String) As DropDownList
        myDropDown.DataSource = categorias.Select("cattip='" + Cadena + "'", "catnom")
        myDropDown.DataBind()
        Return myDropDown
    End Function
End Class
